Inertial scrolling method and apparatus

ABSTRACT

The present invention teaches inertial scrolling method and apparatus, according to which the distance, for which the content of a display window scrolls as a result of an inertial scrolling user action, is substantially limited to the distance between (a) the area of the display window pointed at by the user when an inertial scrolling action is initiated and (b) the border of the display window in the direction of the scrolling. According to an embodiment of the invention, the limited-distance scrolling is only enabled in case of less forceful scrolling user actions.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of provisional U.S. Patent Application Ser. No. 63/042,349, filed Jun. 22, 2020 with title “KINETIC SCROLLING METHOD AND APPARATUS” and naming Viktor Kaptelinin as inventor.

FEDERALLY SPONSORED RESEARCH

Not Applicable

BACKGROUND OF THE INVENTION

The invention relates to user interfaces of electronic devices having displays, such as desktop computers, laptop computers, tablet computers, smartphones, electronic bookreaders, car dashboards, control panels of industrial equipment and home appliances, display components of self-service technologies, and so forth.

Electronic devices may have displays (or “screens”) displaying various types of content. The content is typically displayed in windows. In the context of this invention the term “window” (or “display window”) is understood in a broad sense, as a content viewing area of any displays, including displays of tablet computers, smartphones, bookreaders, embedded systems, and so forth. Window contents can include any types of information objects or sets of information objects, including images, texts, videos, pop-up or pull-down menus, control panels, sets of tiles or icons, folder views, and so forth, as well as combinations of thereof. One or several windows can be shown on a display. The window or windows can be of various size, location, and shape. In particular, a display may show a window coinciding with the display itself. Windows can be embedded, that is, a window can display one or more other windows.

Only a portion of a window-related content, such as a document, may be displayed in a window, and the user may need to scroll the document to see other portions of the content. One particular type of scrolling is kinetic scrolling, which is scrolling that continues after the user completes the scrolling action. For instance, content displayed on a touch sensitive display may continue to scroll further after the user breaks contact with the display (after moving a finger across the display). Kinetic scrolling can be also achieved by performing a scrolling action with a separate input device, such as touchpad or scroll wheel. For instance, when the user carries out a multi-touch gesture using a touchpad, the scrolling may continue even if the user breaks contact with the touchpad.

A common form of kinetic scrolling is inertial scrolling, which is scrolling that slows down, and eventually stops, when the user breaks contact with the display. In case of inertial scrolling the window content scrolls as if it were a physical object receiving an impulse from the user, which impulse fades away over time if the user does not “push” the content anymore. In the context of this application, unless specifically indicated, “kinetic scrolling” means “inertial scrolling”.

A problem with inertial scrolling is that it is often imprecise. From the point, at which the user breaks contact with the display, the content scrolls for a distance, which is difficult to anticipate exactly. The user needs highly developed scrolling skills to use inertial scrolling for moving the window content for a desired distance. This problem is addressed in the present invention.

SUMMARY OF THE INVENTION

The present invention teaches inertial scrolling method and apparatus, according to which the distance, for which the content of a display window scrolls as a result of an inertial scrolling user action, is substantially the distance between (a) a window location of an area of the scrolled window, which area is pointed at by the user when an inertial scrolling action is initiated (thereafter, “initial window location”), and (b) the border of the window in the direction of the scrolling.

Specifically, the present invention teaches a method for assisting a user of an electronic device in viewing information on said electronic device, said electronic device having at least a processor, a memory storage storing computer-executable instructions, a display having an at least a window displaying a portion of a document, and a scrolling input device, said method comprising the method steps of

-   -   displaying a first portion of said document in said display         window; and     -   detecting an inertial scrolling user action, which scrolling         user action detecting comprises at least detecting a direction         of said inertial scrolling action and detecting an “initial         window location”, said “initial window location” being an area         of said display window pointed at by the user when an inertial         scrolling action is initiated; and     -   scrolling said document to display a second portion of said         document in said display window, while limiting a distance of         said document scrolling to substantially a distance between said         “initial window location” and a border of said display window in         the direction of said inertial scrolling.

According to one embodiment of the invention, the method further comprises the steps of

-   -   detecting an “initial pointed document area”, said “initial         pointed document area” being a document image area, displayed         substantially in said “initial window location” when an inertial         scrolling action is initiated and said first portion of the         document is displayed,     -   scrolling said document image in the direction of said inertial         scrolling; and     -   highlighting said “initial pointed document area” during said         inertial scrolling.

According to another embodiment, visual attributes of said highlighted “initial pointed document area” change when said highlighted “initial pointed document area” reaches a border of said display window in the direction of said inertial scrolling.

According to yet another embodiment, said electronic device comprises a touch-sensitive display, said touch-sensitive display being a display, at least part of which serves as a sensing input device, and said “initial window location” is a location of a said touch-sensitive display, which is contacted by a user immediately before the user breaks contact with the display to initiate an inertial scrolling.

According to one embodiment, said electronic device comprises a separate scrolling input device, said separate device being separate from said display, and said display displays a screen pointer controlled by a user, and wherein said “initial window location” is a location of said screen pointer at a moment when an inertial scrolling is initiated by the user.

According to another embodiment, the method further comprises the steps of:

-   -   detecting at least an attribute of an inertial scrolling user         action selected from a group comprising at least: speed of the         input object, acceleration of the input object, and pressure of         input object against the display; and     -   inferring a distance, for which a document image displayed in         said window would scroll if said “initial window location” never         reaches a window border; and     -   if said inferred distance is greater than a distance between         “initial window location” and a border of said window in a         direction of said scrolling, and a difference between said         distances is not greater than a first predetermined value, then         performing inertial scrolling of said document in said window         for a distance substantially equal to a distance between         “initial window location” and said border of said window in the         direction of said scrolling; and     -   if said inferred distance is greater than a distance between         “initial window location” and a border of said window in a         direction of said scrolling, and a difference between said         distances is greater than the first predetermined value, then         performing inertial scrolling of said document in said window         for a distance substantially equal to said inferred distance.

One embodiment further comprises the steps of:

-   -   detecting a speed, with which said document scrolls at a moment         when said “initial pointed document area” reaches a border of         said display window in the direction of said inertial scrolling;         and     -   limit said inertial scrolling to the substantially a distance         between said “initial window location” and a border of said         display window in the direction of said inertial scrolling only         if said speed does not exceed a second predetermined value.

According to one embodiment of the invention, the invention is implemented as an apparatus, comprising at least

-   -   a processor; and     -   a scrolling input device; and     -   a display, adapted to display at least a window adapted to         displaying at least a portion of at least a document; and     -   a memory storage storing computer-executable instructions;     -   wherein said display, said processor, said memory storage, and         said computer-executable instructions being adapted to perform         the following     -   displaying a first portion of a document in a window displayed         on said display; and     -   detecting an inertial scrolling user action, which detecting         comprises at least detecting a direction of said inertial         scrolling action and detecting an “initial window location”,         said “initial window location” being an area of said display         window pointed at by a user when an inertial scrolling action is         initiated; and     -   scrolling said document to display a second portion of said         document in said display window;     -   a distance of said document scrolling being substantially a         distance between said “initial window location” and a border of         said display window in the direction of said inertial scrolling.

According to yet another embodiment, said display is a touch-sensitive display, said touch-sensitive display being a display, at least part of which also serves as a scrolling input device, and said processor, said touch-sensitive display, said memory storage, and said computer-executable instructions are further adapted to perform the following

-   -   detecting a scrolling user action, said action being initiated         by touching the display with a scrolling input object, such as a         finger; and     -   detecting an “initial window location” as a location of a point         of a scrolling input object touch at a moment when the user         breaks a contact of the scrolling input object and the display         to initiate an inertial scrolling.

According to one embodiment, the invention is implemented as an apparatus, wherein said scrolling input device is a device, separate from said display, and said display is adapted to display a screen pointer in said display window, and said apparatus further comprises a screen pointer input device, said screen pointer input device being adapted to control a screen location of said screen pointer, and said processor, said display, said scrolling input device, screen pointer input device, and said memory storage are adapted to detect an “initial window location” as a location pointed at by said screen pointer at a moment when an inertial scrolling is initiated by the user.

According to one embodiment, said screen pointer input device is integrated with said scrolling input device.

TERMS USED IN THE PRESENT APPLICATION

Kinetic scrolling: scrolling, which continues after the scrolling user action (e.g., a flicking gesture), causing the scrolling, ends.

-   -   Inertial scrolling: kinetic scrolling, which slows down over         time, and eventually stops.     -   Forcefulness of a scrolling user action: a parameter, of a         combination of parameters, of a scrolling user action, which         determines the distance, speed, or both distance and speed of         the inertial scrolling caused by the scrolling user action. The         parameters may include, for instance, the speed of the input         object causing the scrolling (e.g., a finger or a scroll wheel),         acceleration of the input object before initiating inertial         scrolling, the pressure of the object against the scrolling         input device (e.g., touch screen or touch pad) when the user         initiates inertial scrolling. An established value or values of         the parameters may be used to calculate an anticipated distance         of kinetic scrolling resulting from the particular user action.     -   Display: a physical display, such as a screen of a digital         artefact (a tablet, smartphone, laptop computer, desk computer,         etc.), a large-screen wall mounted display, tabletop display,         embedded system display (a display or industrial or consumer         equipment, including process control systems, self-service         technologies, home appliances, etc.), projected display (images         projected on various surfaces), and so forth. A display can         comprise several monitors, e.g., placed side by side. In the         context of the application the terms “display” and “screen” are         used interchangeably. The term “display” is understood in a         broadest sense possible, as covering all types of digital         displays that can display information contents.     -   Display location: the location of a point or an area on a         display. Display location of a point can be defined in various         ways, for instance, through screen coordinates of the point,         such as a pair or values corresponding to, respectively,         horizontal and vertical distances from one of the corners of the         display to the point. An area can be defined through screen         coordinates of one or several points belonging to the area, as         well as potential additional information. For instance, screen         location of a circle can be defined by the screen coordinated of         the center of the circle, and well as the radius of the circle.         If a display comprises several monitors, display location can be         defined by specifying a monitor, as well as coordinates within         the monitor.     -   Display Window (or Window): an area of a display, dedicated for         displaying its related content, such as a document. A window can         be modified by opening and closing, resizing, moving around         across a display, or changing its related settings. The same         window can at different moments be located at different areas of         a display.     -   Window location the location of a point or an area in a window.         Window location can be defines similarly to a display location,         but relative to a window. If a window does not move relative the         display, then there is 1:1 correspondence between display         coordinates and window coordinates. If a window at different         moments is located at different areas of a display, then the         same window location can correspond to different display         locations.     -   Document: an information object having a certain content, which         content may be displayed in one or several windows as a text,         still image, video, menu, file folder, etc, as well as         combinations of thereof. A document can be opened, closed,         deleted, copied, etc. In the context of the present invention         the term “document” is understood in a broad sense, as including         all kinds of information objects, viewing which may require         scrolling.     -   Document content: information contained in the document, e.g.         the text of Shakespeare's sonnet #18.     -   Document image: visual representation of a document content, a         representation displayed in a window for the user to perceive         the document. The same content can be represented by different         images: for instance, the same text can be displayed in         different fonts, sizes, and colors. If a document image is too         large to be completely displayed in a window, only a portion of         the document is displayed, and to see other portions the user         needs to scroll the document.     -   Document image area: an area of the document image, defined         relative to the document image presented to the user. Only a         portion of the image can be presented at each particular time.         Since a document can move in a window, the same area of a         document image can be displayed in indifferent locations of a         window.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1a-2c illustrate a scrolling method according to a variation of the first embodiment of the invention, which variation includes using a touchscreen.

FIGS. 2a-2b illustrate variations of inertial scrolling according to the first embodiment, where scrolling has both a horizontal component and a vertical component.

FIGS. 3a-3c illustrate a scrolling method according to a variation of the first embodiment of the invention, which variation includes using a touchpad.

FIGS. 4a-4b illustrate a scrolling method according to a variation of the first embodiment of the invention which variation includes using an area outside the display for scrolling input.

FIGS. 5a-5b illustrate a scrolling method according to the second embodiment of the invention, when a touchscreen is used.

DETAILED DESCRIPTION OF THE INVENTION

The first embodiment of the invention is illustrated by FIGS. 1-4. FIG. 1a shows a mobile computing device 100 (e.g., a tablet). Device 100 has touchscreen display 105, which shows window 110. While FIG. 1 shows window 110, which takes the entire space of display 105, display 105 is capable of showing several different windows, which windows may overlap, be embedded, placed side by side, etc.

Window 110 only displays the first lines of document 120; it does not show the entire document. To view other parts of document 120, the user employs input object 130, such as a finger, to scroll document 120 up. By using input object 130, and touching display 105 at the display location shown in FIG. 1 a, the user points at a window location 135 located higher (by distance 153) and to the right of (by distance 156) the bottom left corner of window 110. Window location 135 is displaying an area 140 of document 120, located in the upper part of the fourth line from bottom, approximately between “nisi” and “ut”.

FIG. 1b shows window 110 displaying a second portion of document 120. Displaying the second portion is caused by moving input object 130 up for distance 150, while keeping contact between display 105 and input object 130. As a result, document 120 is scrolled two lines up, so the top two lines of the first portion are no longer visible, and two new lines are displayed at the bottom of window 110. The scrolling from the first portion to the first portion is panning, during which input object 130 has uninterrupted contact with display 105.

FIG. 1b shows the end point of the panning user action, and also the beginning of a inertial scrolling user action (the transition from the panning to inertial scrolling). When input object 130 points to window location 145, located higher (by distance 153 +distance 150) and to the right of (by distance 156) the bottom left corner of window 110 (the “initial window location”), the user breaks contact between input object 130 and display 105. The document continues scrolling after the user breaks contact between input object 130 and display 105. At the moment of braking the contact, “initial window location” 145, displays area 140 (the “initial pointed document area”) of document 110. Area 140, shown in FIG. 1b as a black circle, is highlighted with a highlighting visual artifact, for instance, a yellow circle of substantially the size of initial pointed document area 140, which circle is visually different from the image of document 120. After inertial scrolling is initiated, document 120 continues to scroll in the direction determined by the movement of input object 130. Initial pointed document area 140, which moves along with the inertial scrolling as a part of document 120, remains highlighted.

The inertial scrolling may slow down and stop before area 140 reaches the top border of window 110. That case is the same as the one of conventional inertial scrolling, and it is not shown in FIG. 1. Alternatively, inertial scrolling may continue until area 140 reaches the top border of window 110, and that case is shown in FIG. 1 c.

FIG. 1c shows window 110 displaying the third portion of document 120. The document image displayed in window 110 is the result of inertial scrolling of document 120 towards the top border of window 110 by distance 160 (approximately 6 lines of text). The inertial scrolling stops after image of document 120 moves up for distance 160, and initial pointed document area 140 substantially reaches the top border of window 110. To indicate the stop of the scrolling, the highlighting visual cue (a yellow circle of approximately the size of area 140) changes its shape as if it “bumps” into the window border, temporarily flattens, and then restores the shape. The highlighting of initial pointed document area 140 is disabled after the inertial scrolling stops. The highlighting is disabled either immediately or after a delay.

Various variations of the first embodiment are obvious to those skilled in the art and are covered by the present invention.

-   -   the document can be scrolled in any direction: vertical (up,         down), horizontal (left, right), or a direction having both a         vertical and a horizontal component (as shown in FIG. 2)     -   initial pointed document area may or may not be highlighted;     -   visual effects indicating that initial pointed document area has         reached a window border may or may not be used; if they are         used, various types of visual effects can be employed;     -   the panning (pre-kinetic) phase of the scrolling illustrated in         FIG. 1 may be larger or smaller comparted to the kinetic phase,         and in some cases the panning phase may be negligible or even         substantially absent;     -   a display does not necessarily comprise only one window taking         all available space, as smaller, multiple, and/or embedded         windows can be provided;     -   initial pointed document area can be defined either when a         panning pre-kinetic scrolling phase is initiated (FIG. 1a ) or         at the beginning of the kinetic phase (as shown in FIG. 1b ); in         the former case an initial pointed document area may be unmarked         (or “dismissed”, “undefined”) if the panning phase is not         followed by an inertial phase;     -   the ongoing inertial scrolling can be stopped, or a new         scrolling action can be initiated, if a user performs a user         action using an input device (e.g., touches the display) before         said “initial pointed document area” reaches a border of said         window.

In addition, initial pointed document area may have various sizes and shapes. For instance, the size of such area may be defined as having approximately the size of the tip of an input object. The size can be defined adaptively and can positively correlate with the size of the detected contact area characteristic of a certain input object (it can be larger, for instance, for fingers than styluses, and be different for fingers of different users). The shape of an initial pointed document area may be a standard shape (such as a circle) or an approximation of the actual contact area between the input object and the display.

The distance, for which inertial scrolling continues according to the first embodiment, can be calculated in different ways obvious to those skilled in the art. For instance, the distance can be calculated as a difference between two display locations: (a) display location of the display area where the user breaks contact with the display at the beginning of inertial scrolling, and (b) display location of the window border in the direction of scrolling. Alternatively, the distance can be calculated as a difference between two window locations: (a) “initial window location”, and (b) the window border in the direction of scrolling. Another alternative is to calculate the distance as a distance between two locations of the document image: (a) “initial pointed document area” and (b) the document image area proximate to window border in the direction of scrolling at the beginning of inertial scrolling. Finally, inertial scrolling may stop when the distance between “initial pointed document area” and a window border becomes less than a predetermined value, so that the distance of inertial scrolling is not calculated in advance but rather determined on a moment-to-moment basis by substantially continuously monitoring relative positions (display locations, window locations, or document image locations) of “initial pointed document area” and window borders.

A variation of the first embodiment is document scrolling achieved by the user by performing a mid-air scrolling gesture over the surface of a screen without touching the screen. In this case the “initial window location” is the window location that the user explicitly or implicitly points to at the moment when an inertial scrolling is initiated by the user. An inertial scrolling can be initiated, for instance, by rapidly increasing the distance between the display and the input object (such as user's fingers). For instance, “initial window location” can be the area of the window in closest proximity to the scroll object, such as user's finger or fingers, stylus, and so forth.

Similarly, using a separate touch sensitive input device, isomorphic to the display, also represents a variation of the first embodiment similar to the one illustrated by FIG. 1. If locations of a touch sensitive input device are mapped to locations of a display (for instance, if the surface of the input device is placed on a flip side of a display, that is, the surface of a back side of an electronic product, opposite to the display, serves as touch sensitive input) then multi touch gestures on the input device have similar effects as multi touch gestures on touch sensitive display, shown in FIG. 1.

FIG. 2a illustrates a method for establishing the distance of inertial scrolling according to the present invention, according to which method “initial pointed document area” 200 is defined as a circle of generally around the tip of input object 210 (in this case, a finger). The distance of inertial scrolling is determined as the shortest distance between (a) the perimeter of area 200 and (b) the point of first contact between area 200 and window border 220 when area 200 moves in direction 230, which direction is the direction of inertial scrolling.

The distance of inertial scrolling according to the present invention can also be calculated using other methods obvious to those skilled in the art. FIG. 2b shows a variation of the method shown in FIG. 1 a. According to this variation inertial scrolling distance is the shortest distance between (a) the perimeter of area 200 and (b) the point of first contact between area 200 and line 240, when area 200 moves in direction 230, which direction is the direction of inertial scrolling. Line 240 is a line parallel to window border 220, located closer to the geometric center of the window with offset 250. Other potential alternatives include, for instance, using the geometric center of “initial pointed document area”, instead of its perimeter, for determining the distance of inertial scrolling movement.

FIGS. 3a-c illustrate a second variation of the first embodiment. FIG. 3a shows electronic device 300, which has display 305 showing window 310. Window 310 displays a first portion of document 320. Screen pointer 335 is also shown in window 310. Document 320 can be scrolled in window 310 by sliding input object 330 (e.g., two fingers) over touch pad 350, which is a separate component of device 300, different from display 305. FIG. 3a shows the initial moment of a scrolling action, when the user places input object 330 on touch pad 350 and is about to move input object 330 up to cause document 320 scroll up. At this moment screen pointer 335 points to area 340 of the image of document 320, which area is located in the upper part of the 4^(th) line from bottom, generally between “nisi” and “ut”. Area 340, “initial pointed document area”, is marked on FIG. 3b with a small circle.

FIG. 3b shows window 310 displaying a second portion of document 320. The second portion is produced by moving input object 330 up for distance 360 while continuously keeping contact of input object 330 with touch pad 350. As a result, document 320 is scrolled two lines up, so the top two lines of the first portion are no longer visible, and two new lines are displayed at the bottom of window 310. The scrolling from the first portion to the first portion is panning, during which the input object has uninterrupted context with touch pad 350.

FIG. 3b shows the end point of the panning user action, and also the beginning of an inertial scrolling user action (the transition from the panning to inertial scrolling), when the user breaks contact between input object 330 and touch pad 350. Document 320 continues to scroll after the user breaks contact between input object 330 and touch pad 350. “Initial pointed document area” 340 is highlighted with a highlighting visual artifact, for instance, a yellow circle, visually different from the image of document 320. After inertial scrolling is initiated, document 320 continues to scroll in the direction determined by the movement of input object 330, that is, the direction of scrolling from the first portion of document 320 (FIG. 3a ) to the second portion of document 320 (FIG. 3b ). Initial pointed document area 340, which moves along with the inertial scrolling as a part of document 320, remains highlighted.

FIG. 3c shows window 310 displaying the third portion of document 320. The document image displayed in window 310 is the result of inertial scrolling of the second portion of the image of document 320 towards the top border of window 310 for approximately six lines of text. The inertial scrolling stops when initial pointed document area 340 substantially reaches the top border of window 310. To indicate the stop of inertial scrolling, the highlighting visual cue (e.g., a yellow circle) changes its shape as if it “bumps” into the window border, temporarily flattens, and then restores the shape. The highlighting of initial pointed document area 340 is disabled after the inertial scrolling stops. The highlighting visual cue is disabled either immediately or after a delay.

While FIG. 3 describes an embodiment of the present invention, which only includes using a touch pad as a separate scrolling input device, it is obvious to those skilled in the art that the description can be applied to a variety of other separate scrolling input devices, such as a scroll wheel.

FIG. 4 shows a third variation of the first embodiment. Electronic device 400 includes display 405 comprising window 410. Window 410 displays a first portion of document 420. Document 420 can be scrolled vertically or horizontally by sliding input object 430 along a side of device 400, outside display 405. FIG. 4a shows the moment, when the user, who has been sliding input object 430 vertically up along the right side of device 400, breaks contact with device 400 to initiate inertial scrolling of document 420. A horizontal area 440 of the image of document 420, area 440 being displayed at substantially the level of the vertical dimension of window 410, corresponding to the location of input object 430 at the moment when input object 440 breaks contact with device 400, is selected as “initial pointed document area”. Area 440 may be highlighted with a highlighting visual cue, such as, for instance, a yellow ellipse. FIG. 4b shows the end moment of the inertial scrolling. The scrolling ends when area 440 reaches the top border of window 410.

It is understood that various obvious modifications of the third variation of the first embodiment are possible. In particular, area 440 can be defined as a window-wide area of an area having a limited horizontal dimension, and the highlighting cue highlighting area 440 may have a variety of shapes, sizes, and colors, such as an elongated ellipse shown in FIG. 4 or a small circle displayed on a margin of document 420.

The second embodiment of the invention is different from the first embodiment in that, depending on the forcefulness of a scrolling user action (e.g., speed, acceleration, abruptness, pressure of the input object against the input device), an inertial scrolling may or may not continue after a “initial pointing document area” reaches a window border. According to the second embodiment, less forceful scrolling user actions may result in inertial scrolling similar to that illustrated by the first embodiment, while more forceful scrolling user actions may result in inertial scrolling, similar to conventional scrolling.

FIG. 5a shows the moment of initiating an inertial scrolling by the user of touchscreen device 500 showing document 520 in window 510. The user breaks contact with touchscreen device 500 by lifting input device 530 (which is shown as user's finger) at a window location that shows “initial pointed document area” 540. The forcefulness of the inertial scrolling action is determined by the speed of input device 530 at the moment of breaking contact with device 500. In turn, the forcefulness of the inertial scrolling action determined the speed of the inertial scrolling, and, in particular, the speed of “initial pointed document area” 540 at the moment, when “initial pointed document area” 540 reaches the top border of window 510. If the speed is does not exceed a predetermined speed, “initial pointed document area” 540 stops at the border and the inertial scrolling of document 520 ends. If the speed exceeds a predetermined speed, document 520 continues to scroll for additional distance 550 after “initial pointed document area” 540 moves beyond the limits of window 510 (FIG. 5b ).

Another variation of the second embodiment is, when an inertial scrolling user action is detected, to:

-   -   detect at least an attribute of an inertial scrolling user         action selected from a group comprising at least: speed of the         input object, acceleration of the input object, and pressure of         input object against the display; and     -   inferring a hypothetical distance, for which the document image         displayed in the window would scroll if the “initial pointed         document area” would never reach a window border; and     -   if the inferred distance is greater than a distance between         “initial pointed document area” and a border of said window in a         direction of said scrolling, and a difference between said         distances is not greater than a first predetermined value, then         perform inertial scrolling of said document in said window for a         distance equal to a distance between “initial pointed document         area” and said border of said window in the direction of said         scrolling, and     -   if the inferred distance is greater than a distance between         “initial pointed document area” and a border of said window in a         direction of said scrolling, and a difference between said         distances is greater than a first predetermined value, then         perform inertial scrolling of said document in said window is         for a distance equal to said inferred distance.

According to all embodiments of the invention, the size, shape, color, brightness, transparency, and other attributes of the highlighting visual cue disclosed in the invention can be defined or selected by the user. The user may also select options and preferences, including enabling or disabling the visual cue, time thresholds, types of the visual cue, and a spatial offset between screen pointer location (alternatively, user contact point when using a touchscreen device) and a visual cue. For instance, the user may prefer a visual cue to be displayed on a margin of a document rather than overlaid on the content of a document.

While the scrolling input devices shown in FIG. 4-14 above are touchpad and touchscreen, it is obvious to those skilled in the art that many other types of devices can be used to perform scrolling actions, including, but limited to, scroll wheels, joysticks, trackpads, graphic tablets, are covered by the invention. In these cases the direction and distance of scrolling are determined by the parameters of the user action, such as direction, distance, time, and speed, performed on a scroll wheel or other alternative scrolling input device.

In addition, while the example of a separate scrolling input device illustrated in the description above, a touchpad, can be also be used for controlling the position of a screen pointer, it is understood that a separate scrolling input device in the context of this invention can have a more limited functionality, not including the control of a screen pointer. The use of such scrolling input devices can be combined with other devices, which can be used to control the position of a screen pointer.

Furthermore, while the figures above illustrate only one type of screen pointers, an arrow, it is understood that other types of screen pointers, including hand-shaped pointers, text cursors (e.g., short vertical or oblique lines), and so forth, are covered by the present invention.

In it understood that the invention can be employed in network computing environments with various types of computer system configurations, including the use of cloud memory storage and distributed execution of computer executable instructions by configurations of processors. 

What is claimed is:
 1. A method for assisting a user of an electronic device in viewing information on said electronic device, said electronic device having at least a processor, a memory storage storing computer-executable instructions, a display having an at least a window displaying a portion of a document, and a scrolling input device, said method comprising the method steps of displaying a first portion of said document in said display window; and detecting an inertial scrolling user action, which scrolling user action detecting comprises at least detecting a direction of said inertial scrolling action and detecting an “initial window location”, said “initial window location” being an area of said display window pointed at by the user when an inertial scrolling action is initiated; and scrolling said document to display a second portion of said document in said display window, while limiting a distance of said document scrolling to substantially a distance between said “initial window location” and a border of said display window in the direction of said inertial scrolling.
 2. A method of claim 1, further comprising the steps of detecting an “initial pointed document area”, said “initial pointed document area” being a document image area, displayed substantially in said “initial window location” when an inertial scrolling action is initiated and said first portion of the document is displayed, scrolling said document image in the direction of said inertial scrolling; and highlighting said “initial pointed document area” during said inertial scrolling.
 3. A method of claim 2, wherein visual attributes of said highlighted “initial pointed document area” change when said highlighted “initial pointed document area” reaches a border of said display window in the direction of said inertial scrolling.
 4. A method of claim 1, wherein said electronic device comprises a touch-sensitive display, said touch-sensitive display being a display, at least part of which serves as a sensing input device, and said “initial window location” is a location of a said touch-sensitive display, which is contacted by a user immediately before the user breaks contact with the display to initiate an inertial scrolling.
 5. A method of claim 1, wherein said electronic device comprises a separate scrolling input device, said separate device being separate from said display, and said display displays a screen pointer controlled by a user, and wherein said “initial window location” is a location of said screen pointer at a moment when an inertial scrolling is initiated by the user.
 6. A method of claim 1, further comprising the steps of: detecting at least an attribute of an inertial scrolling user action selected from a group comprising at least: speed of the input object, acceleration of the input object, and pressure of input object against the display; and inferring a distance, for which a document image displayed in said window would scroll if said “initial window location” never reaches a window border; and if said inferred distance is greater than a distance between “initial window location” and a border of said window in a direction of said scrolling, and a difference between said distances is not greater than a first predetermined value, then performing inertial scrolling of said document in said window for a distance substantially equal to a distance between “initial window location” and said border of said window in the direction of said scrolling; and if said inferred distance is greater than a distance between “initial window location” and a border of said window in a direction of said scrolling, and a difference between said distances is greater than the first predetermined value, then performing inertial scrolling of said document in said window for a distance substantially equal to said inferred distance.
 7. A method of claim 2, further comprising the steps of: detecting a speed, with which said document scrolls at a moment when said “initial pointed document area” reaches a border of said display window in the direction of said inertial scrolling; and limit said inertial scrolling to the substantially a distance between said “initial window location” and a border of said display window in the direction of said inertial scrolling only if said speed does not exceed a second predetermined value.
 8. An apparatus, comprising at least a processor; and a scrolling input device; and a display, adapted to display at least a window adapted to displaying at least a portion of at least a document; and a memory storage storing computer-executable instructions; wherein said display, said processor, said memory storage, and said computer-executable instructions being adapted to perform the following displaying a first portion of a document in a window displayed on said display; and detecting an inertial scrolling user action, which detecting comprises at least detecting a direction of said inertial scrolling action and detecting an “initial window location”, said “initial window location” being an area of said display window pointed at by a user when an inertial scrolling action is initiated; and scrolling said document to display a second portion of said document in said display window; a distance of said document scrolling being substantially a distance between said “initial window location” and a border of said display window in the direction of said inertial scrolling.
 9. An apparatus of claim 8, wherein said display is a touch-sensitive display, said touch-sensitive display being a display, at least part of which also serves as a scrolling input device, and said processor, said touch-sensitive display, said memory storage, and said computer-executable instructions are further adapted to perform the following detecting a scrolling user action, said action being initiated by touching the display with a scrolling input object, such as a finger; and detecting an “initial window location” as a location of a point of a scrolling input object touch at a moment when the user breaks a contact of the scrolling input object and the display to initiate an inertial scrolling.
 10. An apparatus of claim 8, wherein said scrolling input device is a device, separate from said display, and said display is adapted to display a screen pointer in said display window, and said apparatus further comprises a screen pointer input device, said screen pointer input device being adapted to control a screen location of said screen pointer, and said processor, said display, said scrolling input device, screen pointer input device, and said memory storage are adapted to detect an “initial window location” as a location pointed at by said screen pointer at a moment when an inertial scrolling is initiated by the user.
 11. An apparatus of claim 10, wherein said screen pointer input device is integrated with said scrolling input device. 